-- ~/.config/nvim/lua/core/filetree.lua
local M = {}
local last_win = nil

function M.toggle_focus()
  local ft = require("nvim-tree.view")
  
  -- 判断当前是否在文件树
  if vim.bo.filetype == "NvimTree" then
    -- 文件树 → 文件
    if last_win and vim.api.nvim_win_is_valid(last_win) then
      vim.api.nvim_set_current_win(last_win)
    else
      -- 如果没有记录的有效窗口，则向右切换
      vim.cmd("wincmd l")
    end
  else
    -- 文件 → 文件树
    last_win = vim.api.nvim_get_current_win()
    if not ft.is_visible() then
      ft.open()
    end
    -- 强制聚焦到文件树（即使已在屏幕左侧）
    vim.cmd("NvimTreeFocus")
  end
end

return M
